package com.snpic.appaw.module.third.dal.dataobject.common;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 第三方流水记录表
 * </p>
 *
 * @author JiJun
 * @since 2025-09-04
 */
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.io.Serializable;
import java.time.LocalDateTime;

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("third_party_flow_record")
@Schema(description = "第三方流水记录表")
public class ThirdPartyFlowRecord implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    @Schema(description = "ID")
    private Long id;

    @Schema(description = "流水号")
    private String serialNo;

    @Schema(description = "类型代码（比如1表示查违章，2表示查事故高发地）")
    private String typeCode;

    @Schema(description = "类型名称")
    private String typeName;

    @Schema(description = "第三方名称")
    private String thirdParty;

    @Schema(description = "请求时间")
    private LocalDateTime requestTime;

    @Schema(description = "说明")
    private String explains;

    @Schema(description = "请求发起人")
    private String requestBy;

    @Schema(description = "状态：000000--成功,000001--失败")
    private String status;

    @Schema(description = "收费情况")
    private String cost;

    @Schema(description = "请求报文")
    private String requestMessage;

    @Schema(description = "返回报文")
    private String responseMessage;

    @Schema(description = "创建时间")
    private LocalDateTime createTime;

    @Schema(description = "创建人")
    private String creator;

    @Schema(description = "更新时间")
    private LocalDateTime updateTime;

    @Schema(description = "更新人")
    private String updater;

    @Schema(description = "是否删除")
    private Boolean deleted;

    @Schema(description = "备注")
    private String remark;

    @Schema(description = "业务返回码")
    private String errorCode;

    @Schema(description = "原始oracle中的id，用于数据迁移")
    private Integer oldId;

    @Schema(description = "请求路径")
    private String requestPath;
}
